<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>golang http/html模板语法讲解  -- 函数使用</title>
    {{/*
        <!-- golang http/html模板语法讲解   函数使用 -->
        <!--
            1.函数:    调用方法 func (t *Template) Funcs(funcMap FuncMap) *Template
                1.定义函数:
                    1.
                        {{funcname .arg1 .arg2}}
                    2.
                        {{funcname}}                -- 调用无参的函数
                    3.
                        {{.arg1|funcname}}          -- 将参数arg1传递给函数funcname,只知道传递一个变量的写法,多个变量如何传递?(2016年9月30日 15:44:52)
                2.type FuncMap map[string]interface{}:
                    key:为函数名称,和模板定义的函数名一样的
                    value:为函数
                    示例:
                        {{add 1 2}}      //模板文件定义
                        xxx.Funcs(map[string]interface{}{"add": Add})       //程序代码定义.add名称必须和模板文件定义的一样
                        func Add(a,b int) int {
                            return a + b                                //参数由模板文件传递,a:1,b:2
                        }
        -->
    */}}

</head>
<body>
    {{if .isRun}}   {{/*演示golang 模板判断的使用*/}}
        <p> [ 函数,变量使用示例(方式一) ] 调用函数Add {{.Args1}} + {{.Args2}} = {{add .Args1 .Args2}}</p>

        <p> [ 函数使用示例 -- int传参 ] 调用函数Add 1 + 2 = {{add 1 2}}</p>
        <p> [ 函数使用示例 -- string传参(方式二) ]  调用函数Myname : {{myname "zhangsan"}}</p>
        <p> [ 函数使用示例 -- string传参(方式二) ]  调用函数Myname : {{.Name|myname }}</p>
        <p> [ 函数使用示例 -- 调用无参函数 ] 调用函数NoArgs : {{noargs }}</p>
    {{end}}
</body>
</html>